以如下代码为例
sudo apt-get update
第一种方法
使用管道(上一个命令的 stdout 接到下一个命令的 stdin):
#!/bin/bash
echo password | sudo -S apt-get update
第二种方法
使用文本块输入重定向:
#!/bin/bash
sudo -S apt-get update << EOF
你的密码
EOF
说明:
在shell脚本中,通常将EOF与 << 结合使用,表示后续的输入作为子命令或子Shell的输入,直到遇到EOF为止,再返回到主Shell,即将‘你的密码’当做命令的输入
-S参数的作用
使用man命令查询sudo,对参数-S的说明如下:
Write the prompt to the standard error and read the password from the standard input instead of using the terminal device. The password must be followed by a newline character.
可见加上-S参数sudo才会从标准输入中读取密码,不加-S参数以上命令将起不到作用
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。